The subject invention is directed to a manufacturing system and more particularly, to a manufacturing system having one or more robotic apparatus operating under the control of a master controller that monitors and controls a master axis of the manufacturing system (such as a production or assembly line). Each one or more individual robotic apparatus having at least one articulated device, such as an arm, with an end point and a robotic control system that interacts with the master controller such that a two or three dimensional vector path of the end point is mapped onto a single dimensional representation such that standard motion commands from the master controller is used to modify the axis object of the end point in response to changes in the master axis.
Since their inception master controllers, such as proportional-integral-derivative control systems (PID), distributed control systems (DCS) and programmable logic control systems (PLC) and their functional successors (i.e. programmer automation controllers, PC based control, etc.) in industrial applications have been utilized in cooperation with motion planning systems using single dimensional motion parameters to command the movement of rotary motors providing a layer of abstraction from the actual driving electronic pulses (i.e. a drive). An axis object is a collection of one or more motion parameter (position, velocity, acceleration, jerk, etc.) outputs of a motion planning system at a specific time or a repeatable time interval. By having all axis objects commanded by control systems utilizing a common time clock, it is possible to synchronize the movement of the equipment preforming different functions in a manufacturing system.
For tooling operating in two or three-dimension space, a robot has traditionally been used. A robot is a machine with two or more motors to drive an end point(s) or arm(s)/appendage(s)/apparatus (hereinafter collectively referred to as an “arm”) in two or three-dimensional space. There is usually a tool attached to the arm such as gripper or screwdriver further extending the actual end point. By controlling the individual motors to change the axis object of the end point using the robot control system, it possible to move the end point(s) of the arms(s) in a three dimensional Cartesian coordinate system with x, y and z measurements. The movement within and the dimensions of this three dimensional space is bound by limits on the travel distance of each motor, the length of the links connecting them together and other constraining features. Accordingly, in many applications more than three motors are used and the movement of one of those motors individually does not align directly with the x, y or z coordinates. Because of the need to control the motion at the end point in terms of its axis objects the movement of the end point is usually aided by a kinematic library which translates the desired x, y, and z positions and trajectory of the end point into individual movement commands directed to one or more of the underlying motors that operate to affect one or more of the axis objects. Because of the computing complexity of these operations, robots have traditionally been controlled separately by a proprietary robotic controller and not by a general-purpose master controller, such as a programmable logic control system (PLC).
The use of dedicated robotic controllers has been satisfactory for early adopting applications, which are generally single task uses, such as welding or palletizing, where the robot and its attached tool(s) are the central worker of the operation. However, the use of dedicated robotic controllers has been less successful in moving to coordinated applications such as for use in manufacturing lines. Manufacturing lines that comprise various types of devices, such as rotary motors systems and linear motor systems, are typically monitored, controlled and synchronized by a master controller, such as a PLC. A very key feature to such control of manufacturing lines is the use of a master axis having a time clock, which all the devices operating speeds are synced to. As the master axis speeds up or slows down, all devices on the line adjust their motion parameters (object axis) accordingly. Unfortunately, since the master controller and the robot controller operate using two separate processors with two separate real time clocks, it has been difficult to use a master controller with a master axis such that all the devices operate such that the motion of the end point of each robotic device or arm is successfully synchronized with the other devices controlled by the master controller.
Robot manufacturers have tried many different methods of ensuring that all of the devices in a manufacturing line are synchronized with the master axis. One method is to control each robot's object axis directly from the master controller as the other devices. This method requires importing or transferring control of all previous kinematic and robotic software libraries from the robot controller to the master controller's programming and hardware platform. It also requires that each robot use electronic driving hardware and motors that the master controller platform supports. Thus, a significant investment in development and time is necessary and it also relinquishes much of the control of the robotic manufacture's product enhancement ability to the master controller's platform's limits.
Another solution robotic manufacturers have developed includes placing external encoders on a rotary motor that is being driven by the master controller. The robotic controller can read the encoder pulses and then match the speed of the robot's tool with that rotary motor. Problems associated with this method include the need for additional hardware, is only one-dimensional, only syncs for a very small portion of the tool's path, can only be in a straight line and while outside of the zone, and the robot cannot respond to changes in line speed.
Accordingly, it would be desirable to have a manufacturing system comprising a master controller for monitoring and controlling the master axis of the manufacturing system and one or more individual robotic apparatus each having a robotic control system that interacts with the master controller such that changes in the master axis automatically results in corresponding changes in the axis object of each individual robotic apparatus.